Systems and methods for authenticated blockchain data distribution

ABSTRACT

Systems and methods described herein include an application comprising instructions for execution on first and second devices including one or more processors and memory, the application being configured to purchase one or more certificates by a first process via one or more blockchain transactions. The application may redeem the one or more certificates received by a second process via one or more blockchain transactions. The second device may exchange one or more codes to designate the one or more certificates as used on the first device. The system may include one or more servers in communication with the application, and may generate a message containing updated redemption information of the one or more certificates when the updated redemption information has been stored in one or more databases, retrieve data from a plurality of data sources, and generate one or more smart contracts based on the retrieved data.

PRIORITY

The present application claims priority to U.S. Provisional PatentApplication Ser. No. 62/692,145, filed on Jun. 29, 2018, entitled“Systems and Methods for Authenticated Blockchain Data Distribution,”and is a continuation-in-part of U.S. patent application Ser. No.16/406,741, filed on May 8, 2019, entitled “Systems and Methods forE-Certificate Exchange and Validation”, and the disclosures of eachwhich are incorporated by reference in its entirety.

BACKGROUND OF THE INVENTION

The present invention relates generally to the field of e-certificatesystems, devices and methods, and specifically to the exchange andvalidation of e-certificates, e-coupons, e-tickets, tokens, coins, andother e-currency and e-monetary mediums of exchange by a centralexchange server.

Consumers have minimal motivation to accept existing reward programs;most have very low proportional returns. Other reward programs with highlevels of return adversely impact pricing points of retailers and arenot sustainable. In addition, certificates are often difficult to trackand monitor. Once lost, the consumer loses track of them. In such acase, the retailer may fail to document the use of the certificate.

These and other deficiencies exist.

SUMMARY OF THE INVENTION

In an example, a system may include an application comprisinginstructions for execution on a first device including one or moreprocessors and memory, wherein the application is configured to purchaseone or more certificates by a first process. The application maycomprise instructions for execution on a second device including one ormore processors and memory. The application may be configured to redeemthe one or more certificates received from the first device by a secondprocess via one or more blockchain transactions. The application may beconfigured to exchange one or more codes to designate the one or morecertificates as used on the first device. The system may include one ormore servers in communication with the application. The one or moreservers may be configured to automatically generate a message containingupdated redemption information of the one or more certificates when theupdated redemption information has been stored in one or more databasesin communication with the one or more servers. The one or more serversmay be configured to retrieve data from a plurality of sources. The oneor more servers may be configured to generate one or more smartcontracts based on the retrieved data.

In an example, a method may comprise the steps of: establishingcommunication between an application including instructions forexecution on both a first device including one or more processors andmemory and a second device including one or more processors and memory,wherein the application is configured to purchase one or morecertificates by a first process via one or more blockchain transactions;redeeming, by the application, the one or more certificates receivedfrom the first device by a second process via one or more blockchaintransactions; exchanging, by the application, one or more codes todesignate the one or more certificates as used on the first device;generating, by one or more servers in communication with theapplication, a message containing updated redemption information of theone or more certificates when the updated redemption information hasbeen stored in one or more databases, the one or more databases incommunication with the one or more servers; retrieving, by the one ormore servers, data from a plurality of sources; and generating, by theone or more servers, one or more smart contracts based on the retrieveddata.

In an example, a computer readable non-transitory medium includecomputer-executable instructions that are executed on a processor andcomprising the steps of: establishing communication between a first andsecond device so as to purchase one or more certificates by a firstprocess via one or more blockchain transactions; redeeming the one ormore certificates received from the first device by a second process viaone or more blockchain transactions; exchanging one or more codes todesignate the one or more certificates as used on the first device;generating a message containing updated redemption information of theone or more certificates when the updated redemption information hasbeen stored in one or more databases, the one or more databases incommunication with the one or more servers; retrieving data from aplurality of sources; and generating one or more smart contracts basedon the retrieved data.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates a system according to an exemplary embodiment.

FIG. 1B illustrates a system according to another exemplary embodiment.

FIG. 2 illustrates a method according to an exemplary embodiment.

FIG. 3A and FIG. 3B and FIG. 3C illustrate timing diagrams for systemsand processes according to an exemplary embodiment.

FIG. 4 illustrates a system according to an exemplary embodiment.

FIG. 5A and FIG. 5B illustrate processes for creating and transferringassets according to an exemplary embodiment.

FIG. 6 illustrates a diagram of an e-certificate system according to anexemplary embodiment.

FIG. 7 illustrates a diagram of an e-certificate system according toanother exemplary embodiment.

FIG. 8 illustrates a diagram of an e-certificate system with a rewardsprogram according to an exemplary embodiment.

FIG. 9 illustrates a diagram of an e-certificate system according toanother exemplary embodiment.

FIG. 10 illustrates a diagram of an e-certificate system according toanother exemplary embodiment.

FIG. 11 illustrates a diagram of a process according to an exemplaryembodiment.

FIG. 12 illustrates a system according to an exemplary embodiment.

FIG. 13 illustrates a method according to an exemplary embodiment.

DETAILED DESCRIPTION

This application will become more fully understood from the followingdetailed description, taken in conjunction with the accompanyingfigures. Before turning to the figures, which illustrate the exemplaryembodiments in detail, it should be understood that the presentapplication is not limited to the details or methodology set forth inthe description or illustrated in the figures. It should also beunderstood that the terminology is for the purpose of description onlyand should not be regarded as limiting. Alternative exemplaryembodiments relate to other features and combinations of features.

The disclosed systems and methods for performing e-certificate exchangeand validation provide enhanced security and auditability by processingthe authenticity of the e-certificate in a centralized exchange serverin association with the blockchain to aid in immutability andauditability. According to at least one embodiment, the system includesa central exchange server that is configured to validate theauthenticity and exchange of electronic mediums of exchange and/ore-currency between consumers and sellers, including one or morecharities, by the transfer of one or more security codes between same ordifferent devices. Electronic mediums of exchange and/or e-currency maycomprise one or more e-certificates, e-coupons, e-tickets, tokens, coinsand other e-monetary mediums of exchange. The ability for rapidvalidation of exchange of electronic mediums of exchange is achieved bypassing one or more security codes between one or more mobile devices.Data (including transaction data, and/or blockchain transaction data)associated with the electronic medium exchange is provided to adatabase, such as a cloud-based database, where the history of theelectronic medium exchange is maintained, and immutably on theblockchain, which may be configured to perform one or more processes,including determination of distribution of funds to one or morecharities. Upon validation of the electronic medium exchange, thecloud-based database may or may not be configured to be linked back, viaone or more application programming interfaces, to a seller, such aslinked back to an enterprise business system of the seller, in order toprocess and distribute funds as appropriate.

By creating validated electronic medium exchanges between the deviceswith an application, special incentives may be rapidly created so as tobetter target customers via one or more reports. The tracking process ofthe one or more certificates, including having data flow back to thedatabase and blockchain, may provide enhanced control for the merchantthrough reporting that may be used to verify booked transactions. Byvalidating and tracking the certificates, repeated use of the electronicmedium of exchange is prevented.

In some examples, leveraging high margin products and/or servicesincreases the amount available, such as advertising for lower marginproducts at, including but not limited to, grocery store products. As aconsequence, this increases the amount available for charities orconsumer savings to much higher levels. Consumer savings are muchhigher, for example 10-30% higher than other programs, which areconventionally only a few percent. The higher consumer savings, ordonation to a charity, may be the result of leveraging the high variablemargin of a media company and advertising sales to provide one or morecertificates to those with lower variable margins. Unlike existingprograms with high levels of return to consumers that adversely impactthe price points of retailers, the original price points of theretailers is maintained. Consumers may be rewarded with savings or loanreduction or charitable contribution. This allows for simple engagementand tracking between consumers and retailers. Moreover, the system maybe configured to apply to other forms of exchange, such as a retailer'sexisting gift card program. It is envisioned that the system may beapplied to other applications, including but not limited to buying andselling tickets; exchanging tickets for transportation; and usingpassive NFC self-guided tours launching videos or other information.

For example, a consumer may purchase one or more electronic mediums ofexchange, such as an e-certificate, which initiates the trackingprocess. A back end system and the blockchain may be configured to trackall history, including the exchange and validation of the e-certificate.When the e-certificate is presented on a mobile device of the consumer,the seller, via a representative, uses a mobile device or some otherredemption method to exchange security codes to designate thee-certificate as used on the mobile device of the consumer. Thisinformation resides on the mobile device of the consumer and is providedto the back end system for tracking. The history is then provided to thedatabase. The history remains available to the seller. For example, theseller may receive one or more parameters, such as the income associatedwith a customer, shopping or transaction history data associated withthe customer, and may also collect other data associated with customer,including but not limited to the day and/or time when the customerregisters. Based on this information obtained by the seller, the sellermay modify marketing and incentive programs to maximize future sales tothis customer. One or more application programming interfaces (APIs) maybe utilized to integrate with an accounting system associated with theseller.

By utilizing blockchain to transfer ownership between differentconsumers, a young adult may purchase the e-certificates and thentransfer ownership to other entities, such as parents or grandparents.The savings generated may be split between the consumers, or it could begiven exclusively and/or completely to only a single consumer, forexample, to pay off a grandchild's student loans. In at least thismanner, blockchain enables a multi-level system for e-certificates. Insome examples, a web-based system may be configured to assign merchantsto media companies, and to enable them to create one or morecertificates for sale. In addition, the system may be configured togenerate and transmit a report associated with the status of the one ormore certificates, including identity of the purchaser, and customerdata. In some examples, the media companies may propose the one or morecertificates which may be interested via a web browser into theinterface to a relational database. The merchant may approve the one ormore certificates, which are then approved for creation on theblockchain via the server and relational database. In addition, thesystem may be configured to permit the onboarding and integration of acharity. Further, the web-based system may be configured to enable acharity to report on the status on the consumers and/or supporters andthe current financial benefits.

As further explained herein, asynchronous purchase and redemption may beused to overcome problems, including those with the blockchain. In otherexamples, synchronous purchase and redemption processes may be used. Forexample, the blockchain does not return a completed transactioninstantaneously due to busy traffic and other systems issues. Thisresults in poor user experience, and also extended wait times or timeout failures. Moreover, longer processing and transaction times do notpermit the systems and methods to efficiently operate, particularly inlight of longer transaction processing cycle times associated withcertain blockchain systems such as Bitcoin processing. The systems andmethods disclosed herein have been developed to asynchronously purchaseand redeem one or more certificates that are verified live on theblockchain, and the systems and methods disclosed herein allow the oneor more certificates to be purchased or redeemed while the blockchaincatches up.

FIG. 1A illustrates a system 100 configured to perform e-certificateexchange and validation provide enhanced security by processing theauthenticity of the e-certificate in a centralized exchange serveraccording to an example of the present disclosure. As further discussedbelow, system 100 may include first device 105, network 115, server 120,database 125, and second device 130. Although FIG. 1A illustrates singleinstances of the components, system 100 may include any number ofcomponents, including one or more processors.

As shown in FIG. 1A, first device 105, or client or consumer or userdevice 105, may be a network-enabled computer associated with a user. Asreferred to herein, a network-enabled computer may include, but is notlimited to: e.g., a computer device, or communications device including,e.g., a server, a network appliance, a personal computer, a workstation,a mobile device, a phone, a handheld PC, a personal digital assistant, athin client, a fat client, an Internet browser, or other device. Clientdevice 105 also may be a mobile device; for example, a mobile device maybe a smart phone, a laptop computer, a tablet computer, a wearabledevice, and/or any other like mobile device or portable computingdevice. In some examples, a mobile device may include an iPhone, iPod,iPad from Apple® or any other mobile device running Apple's iOS®operating system, any device running Microsoft's Windows® Mobileoperating system, any device running Google's Android® operating system,and/or any other smartphone, tablet, or like wearable mobile device.

In various examples according to the present disclosure, client device105 of system 100 may execute one or more applications 110, such assoftware applications, that enable, for example, network communicationswith one or more components of system 100 and transmit and/or receivedata. In some examples, an application 110 may be installed on clientdevice 105, such as a mobile device. Application 110 may includeinstructions to perform e-certificate exchange and validation provideenhanced security by processing the authenticity of the e-certificate ina centralized exchange server 120 as described herein. Application 110may be configured to create one or more certificates. In some examples,client device 105 may be configured to purchase one or more certificatesafter they have been created. Client device 105 may be in communicationwith one or more servers 120 via one or more networks 115, and mayoperate as a respective front-end to back-end pair with server 120.Client device 105 may transmit, for example from a mobile deviceapplication 110 executing on client device 105, one or more requests toserver 120. The one or more requests may be associated with retrievingdata from server 120. Server 120 may receive the one or more requestsfrom client device 105. Based on the one or more requests from clientdevice 105, server 120 may be configured to retrieve the requested datafrom one or more databases 125. Based on receipt of the requested datafrom one or more databases 125, server 120 may be configured to transmitthe received data to client device 105, the received data beingresponsive to one or more requests.

Data associated with the redemption of one or more certificates may bereceived, captured, or otherwise obtained through a variety ofprocesses. In some examples, information about a certificate may bereceived by second device 130 from first device 105, including but notlimited to, scanners, sensors, cameras, mobile devices, and the likeand/or any combination thereof In some examples, the one or morecertificates may be received from local storage within device 105. Insome examples, the one or more certificates may be received from acloud. For example, cloud computing may comprise an Internet connectionbetween the systems that are operating in the cloud. The cloud maycomprise a plurality of systems such that one or more shared resources,such as processing, peripherals, software, data, servers, and the likeare provided to any system of the cloud so as to allow access anddistribution of services and/or data between the systems of the cloud.

Server 120 may include one or more processors, which are coupled tomemory. Server 120 may be configured as a central system, server orplatform to control and call various data at different times to executea plurality of workflow actions. Server 120 may be configured to connectto database 125. Server 120 may be connected to at least one clientdevice 105. In some examples, server 120 may be connected to one or moredevices 105, 130 via one or more networks 115.

Network 115 may be one or more of a wireless network, a wired network orany combination of wireless network and wired network, and may beconfigured to connect client device 105 and merchant device 130 toserver 120. For example, network 115 may include one or more of a fiberoptics network, a passive optical network, a cable network, an Internetnetwork, a satellite network, a wireless LAN, a Global System for MobileCommunication (GSM), a Personal Communication Service (PCS), a PersonalArea Network (PAN), Wireless Application Protocol (WAP), MultimediaMessaging Service (MMS), Enhanced Messaging Service (EMS), Short MessageService (SMS), Time Division Multiplexing (TDM) based systems, CodeDivision Multiple Access (CDMA) based systems, D-AMPS, Wi-Fi, FixedWireless Data, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetoothnetwork, or any other wired or wireless network for transmitting andreceiving a data signal.

In addition, network 115 may include, without limitation, telephonelines, fiber optics, IEEE Ethernet 802.3, a wireless network, a widearea network (WAN), a wireless personal area network (WPAN), a localarea network (LAN), a body area network (BAN), a global network such asthe Internet, a cellular network, or any combination thereof. Network115 may utilize one or more protocols of one or more network elements towhich they are communicatively coupled. Network 115 may translate to orfrom other protocols to one or more protocols of network devices.Although network 115 is depicted as a single network, it should beappreciated that according to one or more examples, network 115 maycomprise a plurality of interconnected networks, such as, for example,the Internet, a service provider's network, a cable television network,corporate networks, such as credit card association networks, and homenetworks.

In various examples, network 115 may be configured to provide datacommunication between a client device 105, merchant device 130, andserver 120 and between the devices 105 and 130. For example, data may becommunicated between devices 105 and 130 and server 120 through theInternet or other network, and data may be communicated directly betweendevices 105 and 130 and/or one or more databases 125 without passingthrough server 120. Accordingly, network 115 may be one or more of theInternet, Near Field Communication (NFC), Radio Frequency Identification(RFID), Bluetooth, Wi-Fi, and/or the like. Device 105 and 130 may besame or different devices.

In some examples, second device 130 may comprise a merchant device. Insome examples, merchant device may be a network-enabled computerassociated with a merchant. As referred to herein, a network-enabledcomputer may include, but is not limited to: e.g., a computer device, orcommunications device including, e.g., a server, a network appliance, apersonal computer, a workstation, a mobile device, a phone, a handheldPC, a personal digital assistant, a thin client, a fat client, anInternet browser, or other device. Second device 130 also may be amobile device; for example, a mobile device may be a smart phone, alaptop computer, a tablet computer, a wearable device, and/or any otherlike mobile device or portable computing device. In some examples, amobile device may include an iPhone, iPod, iPad from Apple® or any othermobile device running Apple's iOS® operating system, any device runningMicrosoft's Windows® Mobile operating system, any device runningGoogle's Android® operating system, and/or any other smartphone, tablet,or like wearable mobile device.

In various examples according to the present disclosure, second device130 of system 100 may execute one or more applications 110, such assoftware applications, that enable, for example, network communicationswith one or more components of system 100 and transmit and/or receivedata. In some examples, an application 110 may be installed on seconddevice 130, such as a mobile device. Application 110 may includeinstructions to perform e-certificate exchange and validation provideenhanced security by processing the authenticity of the e-certificate ina centralized exchange server 120 as described herein. One or moreapplications 110 of second device 130 may comprise the same applicationas the application executed on first device 105. Second device 130 maybe in communication with one or more servers 120 via one or morenetworks 115, and may operate as a respective front-end to back-end pairwith server 120. Second device 130 may transmit, for example from amobile device application 110 executing on client device 105, one ormore requests to server 120. The one or more requests may be associatedwith retrieving data from server 120. Server 120 may receive the one ormore requests from second device 130. Based on the one or more requestsfrom second device 130, server 120 may be configured to retrieve therequested data from one or more databases 125. Based on receipt of therequested data from one or more databases 125, server 120 may beconfigured to transmit the received data to second device 130, thereceived data being responsive to one or more requests.

FIG. 1B illustrates a system 150 according to another exemplaryembodiment. FIG. 1B may reference same or similar components of FIG. 1A.Whereas FIG. 1A may illustrate a system 100 without blockchain toperform the processes described herein, FIG. 1B illustrates a system 150including a blockchain 130 to perform the processes described herein. Insome examples, the blockchain 130 may be configured to perform one ormore processes and store data as described herein, including but notlimited to fund distribution. In some examples, asynchronous steps maybe used as part of FIG. 1B, as detailed further below, whereas FIG. 1Amay use one or more synchronous steps without the blockchain. FIG. 1Amay replicate the blockchain into a database 125 by having the system100 perform the one or more transactions disclosed herein, which thedatabase 125 may be checked against.

FIG. 2 illustrates a method 200 for performing e-certificate exchangeand validation provide enhanced security by processing the authenticityof the e-certificate in a centralized exchange server according to anexample of the present disclosure. Method 200 may reference same orsimilar components of FIG. 1A and FIG. 1B. As described herein, thesystems and methods described herein may include a plurality of stages,including creation, issuance, and redemption, each associated with oneor more transactions. Moreover, at least a portion of the one or moretransactions are blockchain transactions. In some examples, alltransactions, including but not limited to purchase, transfer and/orredemption of one or more certificates, may comprise blockchain ornon-blockchain transactions or any combination thereof.

At block 210, a plurality of entities may enter into one or morecontracts, including but not limited to, a merchant and media company orother high margin variable provider may enter into a contract, such as aphysical contract. In some examples, the media company and the merchantmay enter into a contract for the exchange of advertising; the merchantand the exchange may enter into a contract so as to permit the merchantto use the exchange to sell their certificates; and the media companyand the exchange may enter into a contract so as to permit the mediacompany to execute their agreement with the merchant on the exchange.According to the one or more contracts, including between the merchantand media company, one or more terms may be agreed upon, including butnot limited to, a number of certificates and their value. The merchantmay be associated with one or more of the devices device, as explainedabove with respect to FIG. 1 . The media company may be associated withone or more of the devices, as explained above with respect to FIG. 1 .

At block 220, the media company may then transmit one or more requeststo the one or more servers. In some examples, the one or more serversmay be the same as the one or more servers, as explained above withrespect to FIG. 1 . In some examples, the one or more requests maycomprise a request for issuance of one or more certificates for themerchant. For example, the media company may request that the merchantapprove the one or more certificates that are being created.

At block 230, responsive to the one or more requests, the one or moreservers may create the one or more certificates. The one or morecertificates may be included on an exchange. As explained further inFIG. 11 , on the blockchain configuration, the one or more certificatesmay be transferred into a wallet associated with the media company. Asexplained further in FIGS. 5A and 5B, these are an asset created andtransferred on the blockchain. In some examples, this transaction maycomprise a blockchain transaction. The blockchain, such as Stellar, maybe used as a ledger to view movements of the one or more certificates.In some examples, blockchain may be used as a publicly accessibleledger.

In some examples, the one or more certificates may comprise a numericcode, such as a 16 digit numeric code, and may be randomly generatedusing a custom random number function to create a 15 digit code and asingle check digit, such as Luhn algorithm, which may then be verifiedagainst existing certificate codes in the database to ensure itsuniqueness. To exchange a certificate, the certificate and the sourceand the destination user identifiers are taken as inputs, located andverified through a matching process, then updated in the database toreflect the change in ownership, then updated on the blockchain toreflect the change.

In some examples, there may be a plurality of blockchain accounts thatare created. By way of example, there may be a Media Company blockchainaccount, Consumer blockchain account, Merchant blockchain account,Charity blockchain account, and a master blockchain account. In someexamples, although these accounts are separate, one or more of theseaccounts may be combined in any combination to perform the roles andfunctions via the systems and methods disclosed herein. Additionally,each of these accounts may be configured to perform the roles andfunctions by another account, in part or in whole. Non-exhaustive rolesand functions include but are not limited to: distribution of proceedsto one or more entities or parties; exchanging values of certificate forgoods and/or services; asynchronous purchase and redemption ofcertificates; and authorization of sale of certificates. In someexamples, these blockchain accounts may be similar except for the masterblockchain account which may be configured to fund and create one ormore assets. Creation and transfer processes of the assets are furtherillustrated in FIG. 5A and FIG. 5B. In some examples, the Media Companyblockchain account, Merchant blockchain account, and Charity blockchainaccount may already have been added to the backend, which is configuredto create an account for those entities on Steller blockchain and add aminimal balance of Stellar Lumens so as to cover processing fees andhold the account.

After a merchant determines what denominations of certificates they wishto sell, and have been affiliated with a media company such as by thebackend, the master blockchain account may be configured to create oneor more assets using a formula aBcDEfGhXX, where XX may represent thedenomination and aBcDEfGh may represent a unique character stringgenerated by the backend for those certificate assets, then transfersthe total number of certificate assets to the affiliated media companyblockchain account. Creation and transfer of assets are furtherdescribed below.

For a consumer, a blockchain account may be created in the same orsimilar manner as Media Company and the Merchant but only when theypurchase a certificate. Once the certificate has been purchased, whichmay be referred to as the primary certificate, it may be transferredfrom the Media Company blockchain account to the Consumer blockchainaccount, and a new certificate may be created to represent a value ofthe primary certificate. The new certificate may be referred to as aghost certificate. In some examples, the ghost certificate may becreated to represent 20% of the value of the primary certificate. Theghost certificate may comprise a code that matches with the primarycertificate along with an appended trailing character, such as “c”. Forexample, for a $20 certificate, the ghost certificate may includeaBcDEfGh20c. Upon redemption of the certificate at the Merchant, theprimary certificate may then ultimately be transferred from the Consumerblockchain account to the Merchant blockchain account. All, or a portionof, the above transfers may be viewed on Stellar blockchain.

At block 240, a consumer may request to purchase one or morecertificates from the merchant, and indicate that its proceeds beprovided to a preferred charity. In some examples, the consumer may beassociated with the first device, as explained above with respect toFIG. 1 . In addition, the consumer may provide payment information topurchase the one or more certificates. The consumer may transmit thisrequest to the one or more servers. In some examples, the systems andmethods described herein may employ wireless and/or wiredcommunications, including but not limited to near field communication(NFC) compatible digital wallets, direct entry, or magnetic stripecards. For example, payment for the one or more certificates may be madeby the first device of the consumer using one or more of theseprocesses. In some examples, at least one of the one or morecertificates that is purchased may be restricted to purchase through aweb-browser process, instead of via the application. For example,regarding asynchronous purchase of the one or more certificates, theclient device may be in communication with one or more servers, whichmay be in communication with one or more databases, blockchain, and aprovider, as illustrated in FIG. 3A.

In some examples, asymmetric JSON web token (JWT) authentication may beperformed to ensure that the application is secured between the clientdevice and the one or more servers. For example, one or morepublic/private keys may be generated prior to authentication of theuser, and a java key store file may be created to store the encryptedpublic/private keys. The public key may be extracted and saved as a textfile. During the authentication process, one or more user credentialsmay be transmitted using one or more endpoints. One or more endpointsmay return one or more tokens, such as the access and refresh token, tothe client. In some examples, when a client device requests access to anendpoint and supplies valid credentials, they are returned a JWT accesstoken and expire time (duration), a refresh token, an identifier for theJWT token, and other information, including user identification. Theaccess token may comprise a shorter duration than the duration of therefresh token. For example, the shorter duration may comprise one daywhereas the refresh token may comprise thirty days. When the accesstoken is no longer valid and the refresh token is valid, the user may beallowed to receive a new access token and continue using the service.When the access token and the refresh token are both no longer valid,the user may be prompted to supply their login credentials. In someexamples, the refresh token may be adjusted by the merchant so as toeffectuate a change in the duration, such as thirty days, sixty days,ninety days, or another designated time. When a protected resource isaccessed by the one or more endpoints, the public key may be validatedby the one or more servers and the access token may be passed. If theverified public key matches the sign in public key, then a digitalsignature is successfully validated.

In some examples, the one or more certificates may be fully or partiallyredeemed. In some examples, only one certificate may be redeemed at atime by one or more servers and the blockchain. The one or morecertificates may be purchased and redeemed in an asynchronous manner sothat it is unnecessary for the consumer to remain on the page of theapplication for the duration of the one more servers and blockchaincommunication sequence. In some examples, this duration may bepredetermined and may last up to one or more seconds, minutes, or hours.Additionally, the systems and methods described herein avoids the userand merchant having to press back and not receiving feedback about thestate of the transaction. For example, regarding asynchronous redemptionof the one or more certificates, a device may be in communication withone or more servers, which may be in communication with one or moredatabases, and blockchain, as illustrated in FIG. 3B.

The one or more certificates may include an expiration date. The one ormore servers may be configured to control transmission of one or morereminders to the consumer at a predetermined time prior to theexpiration date. In some examples, the one or more reminders may betransmitted to the consumer device three days prior to the expirationdate of the one or more certificates. In other examples, the one or morereminders may additionally or alternatively be transmitted to theconsumer on the day of the expiration date of the one or morecertificates.

Regarding the purchasing of the one or more certificates, the consumermay purchase a certificate via their device. The consumer may confirmpurchase of the certificate. A temporary certificate may be insertedinto one or more databases with a pending state that may be displayed inthe certificate card. While in this pending state, the consumer may notredeem the certificate. In some examples, the certificate may be createdin the database. The blockchain may be configured to confirm itscreation, and until then, it is a temporary certificate and listed aspending. The consumer may not redeem the certificate until it isprocessed on the blockchain and then causes the certificate to becomeactive. To the extent there is a failure, the certificate may be deletedon the backend. The one or more servers may execute the purchaserequest. If the response is successful, the temporary certificate may beremoved and replaced with the one received from the one or more serverssuch that the status of the certificate on the first device may changefrom a first status to a second status, such as changed to active andready for redemption. If the certificate transaction was unsuccessful,the temporary certificate may be removed. If the connection drops orthere is a timeout, the client may periodically try or check if thecertificate was actually purchased. The one or more servers may create anotification that informs the consumer that the certificate is ready forredemption (if the purchase was successful), or that informs theconsumer that there was a problem and that the certificate was notpurchased.

In some examples, with respect to the purchase of the certificate via adevice, one or more requests may be transmitted to a server, such as aJAVA server. The server may be configured to generate a random 16 digitcode. Then, an entry may be created on the blockchain before it receivesan approval from an issuer, such as a credit card company. To the extentthat this transaction finished before a timeout, the transaction hash isassociated with the code and it may be sent to provider for acceptanceand payment processing, including but not limited to Braintree. If it isnot accepted by the provider, it is deleted from a giftcard table or itsstatus may be updated to show a purchase error in the giftcard table.Accordingly, a refund process is triggered in which the certificatemoves from the user account back to the media company account. To theextent that the transaction did not finish before the timeout, a row isdeleted from the giftcard table.

In some examples, the consumer may select, via the user interface of itsdevice executing the application, a button to confirm purchase of theone or more certificates. As a consequence, the consumer may beredirected to the purchase successful/pending screen on a display of itsdevice. The one or more certificates may then be immediately visible inthe one or more certificates list, as well as its reflected state in thecertificate. The one or more certificates may be redeemable after it hasbeen successfully purchased via an authorized payment. The certificatecard may be added to the certificate list, with the pending statedisplayed. After the backend responds, one or more of the followingactions may take place: if successful, one or more states (such as thepending state) may be removed and the one or more certificates aredisplayed like normally; if an error occurred, the pending state isreplaced with the error state; if a timeout occurred, the mobile clientmay be configured to monitor the one or more certificates in the normalsync procedure.

The one or more states may be associated with the state of thetransaction, and may include a pending state, a redeemable state, afailed state, or an error state. Each of these states are describedherein. With respect to the pending state, the client and one or moreservers are aware of the state. The mobile client may insert a temporarycertificate and set it to pending. The one or more servers may createthe certificate when the request is received and set it to pending. Withrespect to the redeemable state, the client and the one or more serversare aware of the state. The mobile client may only set the redeemablestate if the purchase request is successful or the sync returns it assuch. The one or more servers may set the redeemable state if one ormore of the following occur: the request to the blockchain executedsuccessfully and is able to respond to the mobile client; a syncrequested it, it is fetched correctly (it is not desynchronized), and itwas previously in the pending state. With respect to the failed stated,the client is aware of the state but not the one or more servers. Themobile client may set the failed state if the purchase request result inan error, the error not due to a timeout. The one or more serverscreated the pending certificate, executed the normal flow, but an erroroccurred. For example, the error may be attributed to a refusal by theblockchain. The one or more servers then deletes the certificate andreturns the corresponding error code. With respect to the error state,the client and one or more servers are aware of the state. The mobileclient may set the error state if the one or more servers reported itwith this state during sync. The one or more servers will set the errorstate if the certificate is desynchronized (instead of not returning it)and return it as normally during sync.

In some examples, the one or more servers may receive one or more of thefollowing parameters: merchant blockchain identifier, consumerblockchain identifier, purchase amount, and a security password orpassphrase. By way of example, one or more of the parameters, such asthe security password and merchant blockchain identifier, may beprovisioned in a point-of-sale device (POS). As further discussed below,FIG. 4 illustrates an example of the interaction between the backend andPOS device. In some examples, the password may be associated with amerchant account identifier. The one or more servers may check anaccount, such as a consumer account, for any existing certificates fromthe specified merchant, and the one or more servers may return one ormore messages to the consumer. In some examples, the one or moremessages may comprise a message indicative of a success message that thepurchase is paid in total or that the purchase is partially paid withthe amount remaining due. Alternatively, the one or more messages maycomprise a message indicative of an error message with explanation, forexample, whether the purchase is not paid or if there was an error inpurchase.

In some examples, the consumer may be prompted to install a mobileapplication on their device. In some examples, the consumer may beprompted to create an account after installing and executing the mobileapplication. The consumer may provide profile details as part of theiraccount creation. After creating an account, the consumer may receive anotification, such as a user interface notification, on their device.The notification may require that the user check their email prior toattempting to purchase one or more certificates. In some examples, theconsumer may update profile details, including an associated emailaddress. In some examples, the consumer may log in via one or moresocial media options, including but not limited to Facebook®, Twitter®,or Google® accounts. After login verification by the one or moreservers, the consumer may browse for one or more merchants. In someexamples, the consumer may view a merchant's one or more certificates,as well as merchant details. In some examples, the consumer's merchantlist may be limited by geographical area. For example, the consumer maybrowse merchants so as to filter on state and/or city information. Insome examples, the consumer may view one or more certificates that havebeen purchased. The consumer may then choose a preferred charity fordesignating donation. In some examples, the consumer may change thepreferred charity. In some examples, the selection of the charity mayinclude a specified geographic region. The consumer may be prompted toview additional information regarding the charity, including but notlimited to: phone, website, one or more videos, one or more images,address, logo, and description. The consumer may provide credit or debitcard information when purchasing one or more certificates. The consumermay purchase one or more certificates from a merchant with valid creditor debit card information. In some examples, the consumer may redeem, awhole or in part, one or more certificates at an issuing merchant. Theuser may receive a message when purchasing one or more certificates thatfunds are provided to their preferred charity at the time of purchase,not at the time of redemption. In other examples, the funds may be paidto a charity at the time of redemption. As such, the charity account maybe closed or set as deleted and removed. In some examples, the consumermay purchase one or more certificates from a merchant all at once, butmay limit the redemption to a predetermined rate. In some examples, thepredetermined rate may be mutually agreed upon with the merchant.

In some examples, after purchase of one or more certificates and acharity is supported through this donation, one or more social mediaposts may be correspondingly generated by the one or more servers.Accordingly, the one or more social media options may be in datacommunication with the one or more servers for logging into theapplication as well as linking the one or more social media posts. Forexample, the one or more social media posts may comprise a Facebook®post indicative of an amount donated and/or the preferred charity forthe account associated with the consumer. As a consequence, this processmay enable a constant comment stream of status updates regarding whatactivity is taking place at a charity and who is supporting it. In someexamples, the one or more social media posts must be approved by theconsumer prior to its posting.

In some examples, the consumer may arrive at a register, such as themerchant's register, and the POS device with an amount of goods orservices to be purchased by their device. The merchant may enter theamount in their register and activate the POS device for the paymentamount by the consumer. The consumer may scan their consumer certificateidentifier at participating merchants. The POS device may trackinformation so as to enable accounting and auditing of registertransactions from the consumer device. When prompted for a membershipcard or credit card or debit card payment for the purchase amount, thePOS device may receive the consumer certificate account identifierthrough NFC, magnetic stripe card, or direct entry. The POS device maythen communicate with the one or more servers and transmit the purchaseamount, consumer account identifier, merchant identifier, and password.The one or more servers may return a success message with remainingamount due, for example, greater than or equal to $0.00, or an errorcode with a descriptive message. For example, the descriptive messagemay include at least one or more of: Consumer/Merchant identifier notfound; merchant password incorrect; no consumer certificates present.

In some examples, one or more merchants may be invited, for example bythe one or more servers, to create an account with the mobileapplication. For example, the merchant may provide profile details aspart of their account creation. In some examples, the merchant mayupdate their profile details. The merchant may, via the mobileapplication, redeem one or more certificates. In some examples, themerchant may add a parent company as part of an affiliation status. Insome examples, the merchant may download one or more reports on theirissued, unsold, and/or redeemed certificates, or any combinationthereof, which may be generated by the one or more servers. The merchantaccount that redeems the one or more certificates may be reflected inthe one or more reports. In some examples, the one or more merchants maybe receive a notification, such as an email, from the one or moreservers for each occurrence one or more certificates are purchased.

In some examples, the one or more servers may be configured to provide areport regarding one or more entities, including but not limited toconsumers, media companies, and merchants, or any combination thereof.The one or more servers may be configured to view total charity accountsand total consumer accounts, total media company accounts, totalmerchant accounts, or any combination thereof. In some examples, the oneor more servers may be configured to generate one or more invitations toone or more merchants, and further, determine whether the invitedmerchants are designated as pending or active invites that were providedto the one or more merchants. The one or more servers may invite one ormore charities and/or media companies to register and create an account.

In some examples, the one or more servers may be configured toautomatically generate a message containing updated redemptioninformation of the one or more certificates when the updated redemptioninformation has been stored in the one or more databases. For example,the message may be transmitted to the first device and the second deviceso as to provide access to the updated redemption information.

In some examples, the one or more media companies may create contractsto release groups of one or more certificates on a predeterminedschedule or periodic basis. The media company may add and/or designatemerchant and/or charity administrators, and may invite merchant and/orcharity administrators.

At block 250, responsive to the request from the consumer, the one ormore servers may issue one or more certificates, and be configured tosave to the blockchain and move the one or more certificates from afirst account to a second account, such as a wallet associated with themedia company to a wallet associated with the consumer.

At block 260, responsive to the request from the one or more servers,the media company may provide the requested one or more certificates tothe consumer, and the media company may also indicate that the consumerredeem the one or more certificates at the merchant. In some examples,this transaction may comprise a blockchain transaction.

At block 270, the consumer, responsive to the receipt of the one or morecertificates from the media company, may present the one or morereceived certificates from the media company to the merchant forredemption. In some examples, this transaction may comprise a blockchaintransaction.

At block 280, the merchant may then redeem the one or more certificatespresented by the consumer. In some examples, redemption may occurthrough an image, data entry, wireless, or wired communication, or anycombination thereof. The merchant may be in communication with the oneor more servers. The one or more servers and/or the blockchain may beconfigured to prohibit repeat redemption of the one or morecertificates. Regarding the redemption of the one or more certificates,the merchant may scan the certificate and enter the total value of thereceipt. The redemption confirmation may be displayed on the consumerand/or merchant device illustrating the value that will be redeemed,including partial and total amounts. With respect to partial redemption,when a participating merchant redeems a consumer's certificate, themerchant may be prompted to enter a value for the certificate up to thetotal face value. In some examples, the total value being spent may becaptured. When a partial value is entered, the value is transmitted tothe backend, which is configured to validate the amount, process theredemption, and update the remaining value of the certificate in thedatabase, as well as record the transaction on the blockchain. Themerchant may select the approve button if a redemption of thecertificate is possible. The merchant may then be notified that theredemption is pending, such as on a loading screen. The one or moreservers may execute a redemption request. Selecting another button, suchas the back button, has no significance as the redemption process isseparately handled. If the merchant did not leave the screen, then oneor more actions may take place: should the response be successful, theredemption successful screen may be displayed; should the response beunsuccessful, the redemption failed screen may be displayed. If themerchant left the screen, a foreground notification (that may not bedismissed) may be displayed that shows the redemption process takingplace. If the response is successful or unsuccessful, the notificationmay be updated to reflect the corresponding state.

In some examples, the second device may be configured to exchange one ormore codes to designate the one or more certificates as used on thefirst device. As explained above, the 16 digit numeric code may becreated on the backend when the certificate is created. The code may beexchanged via one or more processes, as described herein. The merchantdevice may capture the number, and in some examples via a camera on themerchant device, to capture the QR code or a scanner to capture thebarcode or manual entry. The number may then be communicated to thebackend for one or more verification processes against the blockchain.In some examples, the second device may be configured to redeem the oneor more certificates, including but not limited to an image, data entry,wireless, or wired communication, or any combination thereof, such as acaptured QR code or coupon number.

In the exemplary embodiment of FIG. 3A, a system 300 is shown forpurchasing one or more certificates as part of a timing diagram. In someexamples, system 300 may include a device which comprises application302, one or more servers or backend 304, one or more databases 306,blockchain 308, and provider 310. Although FIG. 3A illustrates singleinstances of the components, system 300 may include any number ofcomponents. FIG. 3A may reference same or similar components, such asdevice, application, servers or backend, databases, blockchain, aspreviously described above. For example, the charity may be assigned orchosen by the consumer via the device executing the application.

At block 301, application 302 executing on device may purchase one ormore certificates. In some examples, the device may transmit a requestto the backend 304 to create one or more certificates. Responsive to therequest from application 302, the backend 304 may be configured tocreate one or more certificates with database 306 at block 303. At block305, database 306 may be configured to return the one or morecertificates to the backend 304. After the one or more certificates havebeen returned to the backend 304, the backend 304 may be configured tocreate an unsettled transaction at block 307. Since the transaction hasnot yet been settled, provider 310 awaits activity regarding thetransaction settlement. In some examples, provider 310 may comprise apayment provider such as Braintree. At block 309, application 302 may beconfigured to display a pending status or purchase error regarding thecertificate. At block 311, the backend may be configured to transmit arequest to buy from blockchain 308. At block 313, blockchain 308 may beconfigured to return a success or timeout notification to backend 304.For example, should a success notification be determined by theblockchain 308 regarding transaction approval at block 313, backend 304may be configured to update a corresponding status to OK in database 306at block 315. Based on this success notification, backend 304 may beconfigured to settle the transaction with provider 310 at block 317. Forexample, should a timeout notification be determined by blockchain 308at block 313, backend 304 may be configured to initiate polling for apredetermined period of time at block 319. In some example, thepredetermined period of time may comprise a designated time of seconds,minutes, hours, days, weeks, months, etc. At block 321, blockchain 308may be configured to return a success or error notification to backend304. For example, should a success notification be determined, backend304 may be configured to update a corresponding status to OK in database306 at block 323. Based on this success notification, backend 304 may beconfigured to settle the transaction with provider 310 at block 325. Forexample, should an error notification be determined, backend 304 may beconfigured to update a corresponding status to ERROR BUY at block 327.Based on this error notification, backend 304 may be configured torefund the transaction with provider 310 at block 329. At block 331,mobile application 302 may be configured to sync with backend 304, so asto receive an OK or purchase error message at block 333. Further, if abuy operation is interrupted by an unexpected shutdown of an instance,it may be resumed when the application 302 itself starts.

In the exemplary embodiment of FIG. 3B, a system 350 is shown forredeeming one or more certificates as part of a timing diagram. In someexamples, system 350 may include a device which comprises application302, one or more servers or backend 304, one or more databases 306, andblockchain 308. Although FIG. 3B illustrates single instances of thecomponents, system 350 may include any number of components. FIG. 3B mayreference same or similar components, such as device, application,servers or backend, databases, blockchain, as previously describedabove. In some examples, application 302 may execute on a same ordifferent device than that of application executing on device in FIG.3A.

In some examples, to redeem the certificate, the client device may beconfigured to present the certificate to the merchant device, such asvia an image, data entry, wireless, or wired communication, or anycombination thereof, including but not limited to scan QR code, NFC, orentered input or data entry of member card, such that the merchantdevice confirms the existence of the certificate. Thereafter, asexplained below, asynchronous confirmation of redemption of thecertificate may take place on the blockchain. In other examples, theclient device may be configured to redeem their own certificate to theextent that the merchant device is unable to do so due to one or moreexigent or emergency circumstances, such as an issue with the merchant.As a consequence, the backend 304 may be configured to transmit one ormore notifications to the merchant indicating the self-redemption byapplication 302 executing on the device, and thus the merchant may bedealt with afterwards.

In some examples, when a user encounters an issue with redemption of theone or more certificates, such as an error associated with the system ormerchant or scanning device, the first device may comprise a userinterface to discourage use until necessary, such as the error. Forexample, a troubleshooting process may be configured to be displayed onthe user interface which may include a capture of an image of a receiptof a merchant.

At block 335, application 302 executing on device may redeem one or morecertificates. In some examples, application 302 may comprise the sameapplication executing on a client device and merchant device. In someexamples, the merchant application may act independent of theapplication of the client device by entering a number later when system300 resumes to operating despite the merchant not being present. In someexamples, the application executing on the client device may communicatewith system 300 to initiate redemption, including but not limited toself-redemption. In some examples, the device may transmit a request tothe backend 304 or provide a unique code. At block 337, backend 304 maybe configured to transmit a response to application 302 indicative of OKor unique code. Responsive to the request from application 302, thebackend 304 may be configured to create one or more redeem transactionswith database 306 and update the remaining value at block 339. Database306 may be configured to include a complete mirror of the present stateof blockchain 308, or store sufficient information to validate the oneor more certificates. At block 341, backend 304 may be configured toredeem the transaction with blockchain 308. At block 343, blockchain 308may be configured to return a success or timeout notification to backend304. For example, should a success notification be determined by theblockchain 308 regarding redemption at block 341, backend 304 may beconfigured to update a corresponding status to OK in database 306 atblock 345. For example, should a timeout notification be determined byblockchain 308 at block 341, backend 304 may be configured to initiatepolling for a predetermined period of time at block 347. In someexample, the predetermined period of time may comprise a designated timeof seconds, minutes, hours, days, weeks, months, etc. At block 349,blockchain 308 may be configured to return a success or errornotification to backend 304. For example, should a success notificationbe determined, backend 304 may be configured to update a correspondingstatus to OK in database 306 at block 351. For example, should an errornotification be determined, backend 304 may be configured to update acorresponding status to REDEEM ERROR and transmit a related message,such as via email, to an administrator at block 353. At block 355,mobile application 302 may be configured to sync with backend 304, so asto receive an OK message at block 357. Further, if a redeem operation isinterrupted by an unexpected shutdown of an instance, it may be resumedwhen the application 302 itself starts. When the transaction iscompleted on the blockchain 308, the OK message may indicate that thecertificate has moved to a redeemed status.

In some examples, backend 304 and database 306 may be configured as asingle component (in other examples, they may be separate components) toperform one or more processes disclosed herein. By way of example,backend 304 may comprise logic configured to check database 306 or dataobject that represents existing certificates for lookup and validation.

As a consequence of the asynchronous purchase and redemption processes,as illustrated above, the systems and methods disclosed herein avoidsthe situation where a user must wait for any part of the purchase and/orredemption process, thereby improving the overall experience. Thebackend 304 may be configured to perform one or more conditional checksfor both asynchronous purchase and redemption, as described above, anddetermine whether a blockchain operation is coming through successfullyfor a given certificate, which it may then appropriately mark that item.In some examples, the creation of the unsettled transaction may triggerthe asynchronous process. As part of the asynchronous purchase process,such as a first asynchronous process, numerous levels or states ofconnectivity may be required, such as the backend 304 may be configuredto connect and interact with the database 306, blockchain 308, andconfirmation from provider 310, as explained above with respect to FIG.3A. As part of the asynchronous redemption process, such as a secondasynchronous process, numerous levels or states of connectivity may berequired, such as the backend 304 may be configured to connect andinteract with the database 306, blockchain 308, as explained above withrespect to FIG. 3B.

In some examples, similar to the problems faced with the purchaseprocess, as explained above, the asynchronous redemption process mayrectify these problems, for example, where the blockchain 308 wasqueuing one or more transactions that may have timed out for the mobileapplication 302 and backend 304 but went through on the blockchain 308.In some examples, the asynchronous process may be used for transfer ofcertificates to another consumer. For example, because one or moretransactions were completed synchronously, they all needed to becompleted within a certain amount of time, which caused discrepanciesbetween the blockchain 308 and backend 304. By a second asynchronousprocess as described above with respect to FIG. 3B, these discrepanciesare resolved. A call may be made out to the blockchain 308, and it maybe marked as pending in the mobile application 302. Based on variousstates, the backend 304 may be updated. The backend 304 may beconfigured to uniquely identify the transaction itself based on theunique code.

In the exemplary embodiment of FIG. 3C, a system 375 is shown forredeeming one or more certificates as part of a timing diagram. AlthoughFIG. 3C illustrates single instances of the components, system 370 mayinclude any number of components. FIG. 3C may reference same or similarcomponents, such as device, application, servers or backend, databases,blockchain, as previously described above.

At block 359, application 302 executing on device may redeem one or morecertificates. In some examples, application 302 may comprise the sameapplication executing on a client device and merchant device. In someexamples, the merchant application may act independent of theapplication of the client device by entering a number later when system300 resumes to operating despite the merchant not being present. In someexamples, the application executing on the client device may communicatewith system 300 to initiate redemption, including but not limited toself-redemption. In some examples, the device may transmit a request tothe backend 304 or provide a unique code. Backend 304 may be configuredto poll blockchain 308 to confirm that the one or more certificates isvalid. For example, at block 361, backend 304 may transmit one or morerequests to blockchain 308 for validation of the one or morecertificates. Responsive to the one or more received requests frombackend 304 at block 361, blockchain 308 may be configured to retrievedata to confirm or otherwise indicate that the one or more certificatesare valid, and transmits one or more messages thereof to the backend 304at block 363. At block 365, backend 304 may be configured to transmit aresponse to application 302 indicative of OK or unique code. Responsiveto the request from application 302, the backend 304 may be configuredto create one or more redeem transactions with database 306 and updatethe remaining value at block 367. Database 306 may be configured toinclude a complete mirror of the present state of blockchain 308, orstore sufficient information to validate the one or more certificates.At block 369, backend 304 may be configured to redeem the transactionwith blockchain 308. At block 371, blockchain 308 may be configured toreturn a success or timeout notification to backend 304. For example,should a success notification be determined by the blockchain 308regarding redemption at block 369, backend 304 may be configured toupdate a corresponding status to OK in database 306 at block 373. Forexample, should a timeout notification be determined by blockchain 308at block 369, backend 304 may be configured to initiate polling for apredetermined period of time at block 375. In some example, thepredetermined period of time may comprise a designated time of seconds,minutes, hours, days, weeks, months, etc. At block 377, blockchain 308may be configured to return a success or error notification to backend304. For example, should a success notification be determined, backend304 may be configured to update a corresponding status to OK in database306 at block 379. For example, should an error notification bedetermined, backend 304 may be configured to update a correspondingstatus to REDEEM ERROR and transmit a related message, such as viaemail, to an administrator at block 381. At block 383, mobileapplication 302 may be configured to sync with backend 304, so as toreceive an OK message at block 385. Further, if a redeem operation isinterrupted by an unexpected shutdown of an instance, it may be resumedwhen the application 302 itself starts. When the transaction iscompleted on the blockchain 308, the OK message may indicate that thecertificate has moved to a redeemed status.

Accordingly, and by way of example, there may all, some, or no data fromblockchain mirrored in the database to determine existence of the one ormore certificates prior to redemption of the one or more certificates.In one example, all data in blockchain 308 may be mirrored in database306. In another example, a portion of the data in blockchain 308 may bemirrored in database 306. In another example, none of the data inblockchain 308 is mirrored in database 306. As mentioned above,obtaining data from the blockchain 308 is available but it may takeprocessing time. Thus, by performing one more synchronous processes forone or more transactions, including but not limited to redemption of theone or more certificates, there is the ability to add another block.

FIG. 4 illustrates a system 400 configured to process redemption of oneor more certificates. In some examples, system 400 may comprise a device410, such as point of sale device, in communication with one or moreservers 412, such as a backend. Device 410 may be configured to receiveone or more inputs. In some examples, POS device 410 may beauthenticated as the merchant. One or more inputs 402, 404, 406, 408 maybe transmitted to the POS device 410, including but not limited to NFCtransmission via a mobile device 402; manual entry of an accountidentifier 404; magnetic card swipe 406; or a purchase amount from theregister 408. In some examples, device 410 may be configured to transmitone or more of merchant blockchain identifier, consumer blockchainidentifier, and purchase amount to the backend 412. The backend 412 maybe configured to receive one or more of merchant blockchain identifier,consumer blockchain identifier, and purchase amount from device 410 todetermine whether the consumer has certificates with balance for themerchant blockchain identifier. To the extent the backend 412 determinesa sufficient balance, an asset code may be returned 416, in which theredemption process may proceed 418, as described with respect to FIG.3B. To the extent the backend 412 determines an insufficient balance, areturn of “No Funds” message may be transmitted 414 from the backend 412to the POS device 410. Responsive to the determination of theinsufficient balance by backend 412, POS device 410 may be configured todisplay the “No Funds” message.

In other examples, one or more databases and backends may be utilized towrite contents of the blockchain thereto, which may then be checkedagainst. For example, checking back to the one or more databases may bereflective of the present state of the blockchain regarding the one ormore transactions associated with the one or more certificates and/orone or more transactions.

FIGS. 5A and 5B illustrate a process for creation and transfer of anasset. Transfer of the asset certificate may occur from one walletaccount to a second wallet account. In some examples, this may includefrom the exchange wallet account to the media company wallet account,from the media company wallet account to the consumer wallet account,from the consumer wallet account to another consumer wallet account,from the consumer wallet account to the merchant account via one or moretrustlines. In some examples, as depicted in FIG. 5A, method 500 forcreating an asset may include creating an account at block 505. Forexample, a blockchain account may be created. After creation of theaccount, the method may include generating a random public/private keypair at block 510. The generation of the random public/private key pairdoes not require feedback from the blockchain. The method may includecreating and funding the new account at block 515, from block 505, usingthe public/private key pair of block 510. In some examples, one or morekey pairs may be generated to create one or more accounts. The methodmay include determining if the account is a merchant account at block520. To the extent that the account is determined not to be a merchantaccount, the method may include encrypting a secret with a keymanagement service, such as Google KMS® at block 525. To the extent thatthe account is determined to be a merchant account, the method mayinclude setting weight to prohibit outbound transfers at block 530, andthen proceeding to block 525. After encryption in block 525, the methodmay include returning an account identifier and encrypted secret to oneor more servers or backend at block 535. In some examples, these may beretrieved and then decrypted on the blockchain side to use the account.As explained below, every time a certificate is moved, a trustline iscreated for that certificate. For example, the recipient of thecertificate and the sender, such as the entity offering the certificate,must have a trustline established between these two accounts. In someexamples, the trustline may be used to transfer one or more certificatesbut not a cryptocurrency, which may be used to fund transaction costs,such as a lumen.

As depicted in FIG. 5B, method 500 may continue to transfer the assetand resume from block 535 in FIG. 5A. The method may includetransferring the blockchain asset at block 540. At block 545, the methodmay include receiving encrypted keydata for one or more entities,including for sender and receiver. At block 550, the method may includedecrypting keydata into account keypairs. At block 555, the method mayinclude establishing a trustline between the sender and receiver. Atblock 560, the method may include adding one or more accounts to thetrustline. At block 565, the method may include determining if a charityoperation is needed. To the extent it is determined that no charityoperation is needed, the method may include adding transfer of the assetas a blockchain transaction at block 570. To the extent it is determinedthat a charity operation is needed, the method may include verifying acharity account, and creating an additional trustline and asset at block575, and then proceeding to block 570. At block 580, the method mayinclude returning a hash of the blockchain transaction of block 570.

In the exemplary embodiment of FIG. 6 , a system 600 is shown forprocessing one or more e-certificates through a company, such as a mediacompany 602, in exchange for advertising. At the point of purchase 604,the e-certificates may be exchanged, for example between one or moreconsumers 606 and one or more charities 608, for goods and/or servicesutilizing, by way of example, at least one or more of near fieldcommunication (NFC), QR, bar code, manual, and debit or credit card datatransfer. In some examples, cloud-based database 612 may be configuredto validate the certificate. Consumer 606 may be configured to purchaseone or more certificates via one or more devices. In some examples, oneor more consumers 606 may be selected from a plurality of consumers 640,in which media company 602 may broadcast one or more messages 628regarding the one or more certificates to advertiser and plurality ofconsumers 640.

The one or more charities 608 may have a contractual arrangement withone or more of the retailer and/or advertiser 610, media company 602,and the cloud-based database 612. In some examples, retailer/advertiser610 may enter into one or more contracts, including an advertisingcontract 626. The cloud-based database 612 may be configured to contractdetails with total certificate authorization based on the advertisingcontract 626. The cloud-based database 612 may be configured to paymedia company 602 for the advertising. In addition, the media company602 may be configured to exchange information on sales of thecertificates through the cloud of the cloud-based database 612. In someexamples, media company 602 may be in a contractual relationship withthe cloud-based database 612. The one or more charities 608 may purchaseor otherwise obtain the e-certificates at a discounted price and thensell the e-certificates as part of a campaign, such as a fund-raisinginitiative. After the e-certificate is exchanged and received by thecustomer 606, at least one of the one or more charities 608, cloud-baseddatabase 612, retailer 610, and/or media company 602 may each receive aportion of the amount spent, as explained below. As a consequence, thecharities 608 that purchase, for example, e-certificates or gift cardsat a discount for resale, no longer encounter or experience problemsassociated with substantial theft, loss, and record-keeping issues. Inaddition, the one or more charities 608 are now aware of whiche-certificates were sold but not redeemed. The one or more charities 608may negotiate to keep its portion of what was not redeemed afterexpiration of the e-certificate.

For example, upon issuance of a credit card, the consumer 606 may beenabled to utilize an e-certificate and the credit card simultaneouslyassociated with a purchase by only presenting a single card. The creditcard may be read by a device 604 including a POS device or reader, suchas a credit card reader, as part of exchanging and processing data,including the credit card data. The data may be received by thecloud-based database 612 from the credit card reader. Validation of thee-certificate may occur between same or different devices, such as afirst device and a second device, including a client or consumer device606 and a merchant or retailer device 604. In some examples, one or moreof the devices may comprise a mobile device, a tablet, desktop, or thelike.

The cloud-based database 612 may be configured to receive transactiondata and validate the e-certificate based thereon in order to authorizeit. In some examples, transaction data may comprise transaction datafrom device 604, as previously described. Cloud-based database 612 maybe configured to receive blockchain transaction data 624. The fundsdistribution may include one or more associated portions including butnot limited to the media company 614, one or more charities 616, profits618, credit card or electronic funds transfer fees paid out to a creditcard company 620, and consumer savings 622. The portion associated withthe consumer savings 622 may include one or more of (via an applicationprogramming interface) an account (such as, for example, a bank account,a Venmo account, a digital wallet, and/or the like), Roth IRA, 529 Plan,payoff college debt, investment account, and/or the like, and may besent by the cloud-based database 612. In some examples, the consumersavings portion 622 may range from 10% to over 30%. The cloud-baseddatabase 612 may be configured to retain all funds until redemption ofthe e-certificate by the consumer 606. This benefits it by allowinginterest to accrue until the redemption of the e-certificate by theconsumer 606, and also allows it to retain or return the e-certificatepurchase price. This disposition may depend on the marketing and/orfinancial decisions, as well as individual negotiations with at leastone or more of the customer 606, one or more charities 608, retailers610, and the media company 602.

In the exemplary embodiment of FIG. 7 , a system 700 is shown forprocessing one or more e-certificates through a company 702, such as alicensee other than a media company. In one example, the licensee may bea media company that serves a dual role, for example, as both a mediacompany and getting others to participate in an assigned area, which maybe, in some examples, other media companies, chambers, etc. to promoteand develop the rewards or incentives program. At the point of purchase704, the e-certificates may be exchanged, for example between one ormore consumers 706 and one or more charities 708, for goods and/orservices utilizing, by way of example, at least one or more of nearfield communication (NFC), QR, bar code, manual, and debit or creditcard data transfer. In some examples, cloud-based database 712 may beconfigured to validate the certificate. Consumer 706 may be configuredto purchase one or more certificates via one or more devices. Validationof the e-certificate may occur between same or different devices, suchas a first device and a second device, including a client or consumerdevice and a merchant or retailer device. In some examples, one or moreof the devices may comprise a mobile device, a tablet, desktop, or thelike.

The one or more charities 708 may have a contractual arrangement withone or more of the retailer/advertiser 710, licensee 702, and thecloud-based database 712. In some examples, retailer 710 may enter intoone or more contracts 726, including a contract with licensee 702. Thecloud-based database 712 may be configured to contract details withtotal certificate authorization based on one or more contracts 726. Inaddition, licensee 702 may be in a contractual relationship withcloud-based database 712. The one or more charities 708 may purchase orotherwise obtain the e-certificates at a discounted price and then sellthe e-certificates as part of a campaign, such as a fund-raisinginitiative. After the e-certificate is exchanged and received by thecustomer 706, at least one of the one or more charities 708, cloud-baseddatabase 712, retailer/advertiser 710, and/or licensee 702 may eachreceive a portion of the amount spent, as explained below. As aconsequence, the charities 708 that purchase, for example,e-certificates or gift cards at a discount for resale, no longerencounter or experience problems associated with substantial theft,loss, and record-keeping issues. In addition, the one or more charities708 are now aware of which e-certificates were sold but not redeemed.The one or more charities 708 may negotiate to keep its portion of whatwas not redeemed after expiration of the e-certificate.

The cloud-based database 712 may be configured to receive thetransaction data and validate the e-certificate based thereon in orderto authorize it. In some examples, transaction data may comprise datafrom device 704, as previously described. Cloud-based database 712 maybe configured to receive blockchain data 725, as previously described,including but not limited to via one or more synchronous or asynchronousprocesses. The funds distribution may include one or more associatedportions including but not limited to the retailer 714, one or morecharities 716, licensee 717, profits 718, credit card or electronicfunds transfer fees paid out to a credit card company 720, and consumersavings 724. The portion associated with the consumer savings 724 mayinclude one or more of (via an API) bank account, Roth IRA, 529 Plan,payoff college debt, investment account, and the like, and may be sentby the cloud-based database 712. In some examples, the consumer savingsportion 724 may range from 10% to over 30%. The cloud-based database 712may be configured to retain all funds until redemption of thee-certificate by the consumer 706. This benefits it by allowing interestto accrue until the redemption of the e-certificate by the consumer 706,and also allows it to retain or return the e-certificate purchase price.This disposition may depend on the marketing and/or financial decisions,as well as individual negotiations with at least one or more of thecustomer 706, one or more charities 708, retailers 710, and the licensee702.

In the exemplary embodiment of FIG. 8 , a system 800 is shown forprocessing one or more e-certificates through a company 802, such as alicensee other than a media company, with a rewards program, such as abuy local rewards program. At the point of purchase 804, thee-certificates are exchanged, for example between one or more consumers806 and one or more charities 808, for goods and/or services utilizing,by way of example, at least one or more of near field communication(NFC), QR, bar code, manual, and debit or credit card data transfer. Insome examples, cloud-based database 812 may be configured to validatethe certificate. Consumer 806 may be configured to purchase one or morecertificates via one or more devices. Validation of the e-certificatemay occur between same or different devices, such as a first device anda second device, including a client or consumer device and a merchant orretailer device. In some examples, one or more of the devices maycomprise a mobile device, a tablet, desktop, or the like.

The one or more charities 808 may have a contractual arrangement withone or more of the retailer/advertiser 810, licensee 802, and thecloud-based database 812. In some examples, retailer 810 may enter intoone or more contracts 826, including a contract with licensee 802.Cloud-based database 812 may be configured to contract details withtotal certificate authorization based on one or more contracts 826. Inaddition, licensee 802 may be in a contractual relationship withcloud-based database 812. The one or more charities 808 may purchase orotherwise obtain the e-certificates at a discounted price and then sellthe e-certificates as part of a campaign, such as a fund-raisinginitiative. After the e-certificate is exchanged and received by thecustomer 806, at least one of the one or more charities 808, cloud-baseddatabase 812, retailer/advertiser 810, and/or licensee 802 may eachreceive a portion of the amount spent, as explained below. As aconsequence, the charities 808 that purchase, for example,e-certificates or gift cards at a discount for resale, no longerencounter or experience problems associated with substantial theft,loss, and record-keeping issues. In addition, the one or more charities808 are now aware of which e-certificates were sold but not redeemed.The one or more charities 808 may negotiate to keep its portion of whatwas not redeemed after expiration of the e-certificate.

The cloud-based database 812 may be configured to receive thetransaction data and validate the e-certificate based thereon in orderto authorize it. In some examples, transaction data may comprise datafrom device 804 as previously described. Cloud-based database 812 may beconfigured to receive blockchain data 825, as previously described,including but not limited to via one or more synchronous or asynchronousprocesses. The funds distribution may include one or more associatedportions, including but not limited to the retailer 814, one or morecharities 816, cash or rewards 815, licensee 802, profits 818, creditcard or electronic funds transfer fees paid out to a credit card company820, and consumer savings 824. The portion associated with cash orrewards 815 may be associated with an account 805 that is linked tocustomer 806. The portion associated with the consumer savings 824 mayinclude one or more of (via an API) bank account, Roth IRA, 529 Plan,payoff college debt, investment account, and the like, and may be sentby the cloud-based database 812. In some examples, the consumer savingsportion 824 may range from 10% to over 30%. The cloud-based database maybe configured to retain all funds until redemption of the e-certificateby the consumer. This benefits it by allowing interest to accrue untilthe redemption of the e-certificate by the consumer 806, and also allowsit to retain or return the e-certificate purchase price. Thisdisposition may depend on the marketing and/or financial decisions, aswell as individual negotiations with at least one or more of thecustomer 806, one or more charities 808, retailers 810, and the licensee802.

In the exemplary embodiment of FIG. 9 , a system 900 is shown forprocessing one or more e-certificates through a licensee 902 other thana media company, in exchange for a service or product. At the point ofpurchase 904, the e-certificates may be exchanged, for example betweenone or more consumers 906 and one or more charities 908, for goodsand/or services utilizing, by way of example, at least one or more ofnear field communication (NFC), QR, bar code, manual, and debit orcredit card data transfer. In some examples, cloud-based database 912may be configured to validate the certificate. Consumer 906 may beconfigured to purchase one or more certificates via one or more devices.In some examples, one or more consumers 906 may be selected from aplurality of consumers 940, in which media company 903 may broadcast oneor more messages 928 regarding the one or more certificates toadvertiser and a plurality of consumers 940. Validation of thee-certificate may occur between same or different devices, such as afirst device and a second device, including a client or consumer deviceand a merchant or retailer device. In some examples, one or more of thedevices may comprise a mobile device, a tablet, desktop, or the like.

The one or more charities 908 may have a contractual arrangement withone or more of the retailer/advertiser 910, licensee 902, media company903, and the cloud-based database 912. In some examples,advertiser/retailer 910 may enter into one or more contracts, includingan advertising contract 926. The cloud-based database 912 may beconfigured to contract details with total certificate authorizationbased on advertising contract 926. Licensee 902 may be configured tosublicense to media company 928. Licensee 902 may have a contractualrelationship with cloud-based exchange 912. The one or more charities908 may purchase or otherwise obtain the e-certificates at a discountedprice and then sell the e-certificates as part of a campaign, such as afund-raising initiative. After the e-certificate is exchanged andreceived by the customer 906, at least one of the one or more charities908, cloud-based database 912, retailer 910, media company 928, and/orlicensee 902 may each receive a portion of the amount spent, asexplained below. As a consequence, the charities 908 that purchase, forexample, e-certificates or gift cards at a discount for resale, nolonger encounter or experience problems associated with substantialtheft, loss, and record-keeping issues. In addition, the one or morecharities 908 are now aware of which e-certificates were sold but notredeemed. The one or more charities 908 may negotiate to keep itsportion of what was not redeemed after expiration of the e-certificate.

The cloud-based database 912 may be configured to receive thetransaction data and validate the e-certificate based thereon in orderto authorize it. In some examples, transaction data may comprisetransaction data from device 904, as previously described above.Cloud-based database 912 may be configured to receive blockchaintransaction data 924, as previously described, including but not limitedto via one or more synchronous or asynchronous processes. The fundsdistribution may include one or more associated portions including butnot limited to the media company 914, one or more charities 916,licensee 902, profits 918, credit card or electronic funds transfer feespaid out to a credit card company 920, and consumer savings 922. Theportion associated with the consumer savings 922 may include one or moreof (via an API) bank account, Roth IRA, 529 Plan, payoff college debt,investment account, and the like, and may be sent by the cloud-baseddatabase 912. In some examples, the consumer savings portion 922 mayrange from 10% to over 30%. The cloud-based database 912 may beconfigured to retain all funds until redemption of the e-certificate bythe consumer 906. This benefits it by allowing interest to accrue untilthe redemption of the e-certificate by the consumer 906, and also allowsit to retain or return the e-certificate purchase price. Thisdisposition may depend on the marketing and/or financial decisions, aswell as individual negotiations with at least one or more of thecustomer 906, one or more charities 908, retailers/advertisers 910,licensee 902, and the media company 928.

In the exemplary embodiment of FIG. 10 , a system 1000 is shown forprocessing one or more e-certificates direct to a retailer and consumer.At the point of purchase 1004, the e-certificates may be exchanged, forexample between one or more consumers 1006 and one or more charities1008, for goods and/or services utilizing, by way of example, at leastone or more of near field communication (NFC), QR, bar code, manual, anddebit or credit card data transfer. In some examples, cloud-baseddatabase 1012 may be configured to validate the certificate. Consumer1006 may be configured to purchase one or more certificates via one ormore devices. Validation of the e-certificate may occur between same ordifferent devices, such as a first device and a second device, includinga client or consumer device and a merchant or retailer device. In someexamples, one or more of the devices may comprise a mobile device, atablet, desktop, or the like.

The one or more charities 1008 may have a contractual arrangement withone or more of the retailer/advertiser 1010 and the cloud-based database1012. In some examples, retailer 1010 may enter into one or morecontracts 1024, including a contract with cloud-based database 1012.Cloud-based database 1012 may be configured to contract details withtotal certificate authorization based on one or more contracts 1024. Byway of example, the one or more charities 1008 may purchase or otherwiseobtain the e-certificates at a discounted price and then sell thee-certificates as part of a campaign, such as a fund-raising initiative.After the e-certificate is exchanged and received by the customer 1006,at least one of the one or more charities 1008, cloud-based database1012, and the retailer 1010 may each receive a portion of the amountspent, as explained below. As a consequence, the charities 1008 thatpurchase, for example, e-certificates or gift cards at a discount forresale, no longer encounter or experience problems associated withsubstantial theft, loss, and record-keeping issues. In addition, the oneor more charities 1008 are now aware of which e-certificates were soldbut not redeemed. The one or more charities 1008 may negotiate to keepits portion of what was not redeemed after expiration of thee-certificate.

The cloud-based database 1012 may be configured to receive thetransaction data and validate the e-certificate based thereon in orderto authorize it. In some examples, transaction data may comprise datareceived from device 1004, as previously described. Cloud-based database1012 may be configured to receive blockchain data 1025, as previouslydescribed, including but not limited to via one or more synchronous orasynchronous processes. The funds distribution may include one or moreassociated portions including but not limited to the retailer 1014, oneor more charities 1016, profits 1018, credit card or electronic fundstransfer fees paid out to a credit card company 1020, and consumersavings 1022. The portion associated with the consumer savings 1022 mayinclude one or more of (via an API) bank account, Roth IRA, 529 Plan,payoff college debt, investment account, and the like, and may be sentby the cloud-based database 1012. The cloud-based database 1012 may beconfigured to retain all funds until redemption of the e-certificate bythe consumer 1006. This benefits it by allowing interest to accrue untilthe redemption of the e-certificate by the consumer 1006, and alsoallows it to retain or return the e-certificate purchase price. Thisdisposition may depend on the marketing and/or financial decisions, aswell as individual negotiations with at least one or more of thecustomer 1006, one or more charities 1008, and retailers 1010.

In some examples, the cloud-based database may include one or moreservers coupled to one or more databases and the blockchain, and may beconfigured to store and generate data that may be communicatedwirelessly to various components of the system in accordance with thesystems and methods described above. For example, asynchronous purchaseand redemption may take place with respect to the certificate andblockchain and consumer and POS device.

In the exemplary embodiment of FIG. 11 , a process 1100 is shownillustrating blockchain configuration and certificate transfer. FIG. 11may reference same or similar structure and functions as described abovewith respect to any of the previously described figures. At block 1110,a media company and merchant may agree to perform one or more terms of acontract. In other examples, other entities may agree to perform one ormore terms of a contract. At block 1120, one or more certificates may becreated on a wallet associated with one or more servers. At block 1130,the one or more certificates may be transferred, in some examplesinstantaneously, to the media company wallet. In some examples, themedia company wallet account may contain certificates from a pluralityof merchants. In some examples, this may comprise a single blockchain ora plurality of blockchain transactions. At block 1140, the consumer maypurchase one or more certificates, which may be created or moved to theconsumer wallet account. At block 1150, the consumer may transfer one ormore certificates to another consumer wallet account. In some examples,this transfer may occur more than once. At block 1160, redemption of theone or more certificates may take place. In some examples, full orpartial redemption may occur, as explained above. For example, partialredemption may continue to block 1170. At block 1170, a partialcertificate may be transferred to another consumer. In other examples,full and/or final redemption may occur such that the one or morecertificates ends in the merchant wallet. Referring back to block 1140,a phantom or ghost charity block may be created in a wallet accountassociated with one or more charities that is determined by theconsumer, as previously explained. In some examples, this value maycomprise a percentage of the purchase, such as 80%.

In some examples, systems and methods may provide authenticatedblockchain data distribution. As further described herein, the systemsand methods may be configured to provide an instant auditable chain thatprovides greater security. Organizations, such as charities, maygenerate income by operating raffles. The raffles may be subject to oneor more restrictions to ensure that, for example, they are indeed for acharity. Difficulties arise for the charity to meet the geographical andauditing requirements imposed by the jurisdiction. In addition,organizations may be subject to fraud and loss due to the challengesassociated with administering the logistics of a raffle program.Moreover, the organizations encounter difficulties in controlling whereraffle tickets are sold and ensuring whether the revenue generated fromthe sale of the tickets in fact flows to the charity. The systems andmethods may be configured to overcome these challenges.

FIG. 12 illustrates a system 1200 according to an example of the presentdisclosure. FIG. 12 may reference same or similar components andprocesses of FIGS. 1-11 . For example, system 1200 may include firstdevice 1205, network 1215, server 1220, entities 1225, 1240, 1245, andsecond device 1230. Although FIG. 12 illustrates single instances of thecomponents, system 1200 may include any number of components, includingone or more processors. As previously described, first device 1205 andsecond device 1230 may comprise application 1210 comprising instructionsfor execution on respective devices 1205 and 1230.

The legal requirements for organizations to operate the raffles may beencoded in system 1200, such as server 1220 or a blockchain, to ensurecompliance with the law. System 1200 may be configured to allow for ablockchain, as a common shared ledger 1250, to be utilized by theorganization and various municipalities and ease auditing. System 1200may be configured to also permit ease of sale and transfer of ownershipof raffle tickets. The tickets may be sold via an application 1210comprising instructions for execution on a device 1205. In someexamples, the creation, sale and redemption process of the ticket orcertification may utilize the systems and methods previously describedabove. The information associated with ownership transfers and purchasehistory may be utilized to improve future charitable campaigns andprevent fraud.

Numerous entities may include various records for monitoring raffleoperation requirements. For example, in a given jurisdiction, there maybe a state entity 1225, a municipality entity 1240, and an organizationentity 1245. Each of these entities 1225, 1240, and 1245 may include anin-house ledger or database to maintain necessary records. In someexamples, to conduct a raffle, the organization 1245 may request fromthe state 1225 an identification number via an application process. Theapplication may be submitted to the municipality 1240 which then submitsto the state 1225 for compliance and issuance of the identificationnumber before the raffle is approved and conducted by the organization1245 seeking approval of the raffle.

The system 1200 may include common ledger 1250 that may be accessibleand shared by various entities, such as 1225, 1240, and 1245. System1200 may be configured to retrieve data from each data source or entity1225, 1240, 1245 so as to consolidate for generation of one or moresmart contracts 1255 and process funding. In some examples, the system1200 may include information transmitted or retrieved from a pluralityof entities, including but not limited to a state entity 1225, amunicipality entity 1240, and an organization 1245. This information mayinclude one or more parameters, including but not limited to saleshistory information, state of contracts information, contractcertifications information, geofencing information, timing information,funds distribution information, and member certification information.The one or more parameters may be shared in the blockchain of the system1200 as part of a shared ledger so as to achieve authenticatedblockchain data distribution.

In addition, the system 1200 may be configured to create one or moresmart contracts 1255 may be created. In some examples, a smart contract1255 may be generated by the blockchain 1220 based on the one or moreparameters. For examples, the smart contract 1255 may be configured toinclude but not be limited to an identification number (such as a stateidentification number) and expiration date, municipal information and anexpiration date, geofencing information, organization certificationsinformation, and member certifications. In addition, this data may beutilized by the blockchain 1220 to create the one or more smartcontracts 1255. A user of client device 1205 may purchase the raffleticket, as previously described above, via application 1210. In someexamples, the user may be prompted to install application 1210 on clientdevice 1205. In some examples, data such as results of the raffle andpurchase history from the user, may be retrieved to determine thelikelihood of future tickets to offer for the user to purchase. Thus,the one or more smart contracts 1255 may be dynamically updated.

Moreover, the system 1200 may be configured to verify one or moreactions. By way of example, the system may be configured to authenticatethe data retrieved from the plurality of entities. Additionally, thesystem 1200 may be configured to verify that the funds are processed tothe organization 1245 or charity according to a distribution. Aplurality of portions may be utilized for funds distribution. Forexample, a first portion of the funds may be applied towards the user. Asecond portion of the funds may be applied towards the organization1245. A third portion of the funds may be applied towards the state1225. A fourth portion of the funds may be applied towards themunicipality 1240. A fifth portion of the funds may be applied towardsthe server 1220. The one or more smart contracts 1255 may includereference to the plurality of portions.

FIG. 13 illustrates a method 1300 for performing authenticatedblockchain data distribution according to an example of the presentdisclosure. FIG. 13 may reference same or similar components of FIG. 12.

At block 1310, the method 1300 may include establishing communicationbetween an application including instructions for execution on both afirst device including one or more processors and memory and a seconddevice including one or more processors and memory, wherein theapplication is configured to purchase one or more certificates by afirst process via one or more blockchain transactions.

At block 1320, the method 1300 may include redeeming, by theapplication, the one or more certificates received from the first deviceby a second process via one or more blockchain transactions.

At block 1330, the method 1300 may include exchanging, by theapplication, one or more codes to designate the one or more certificatesas used on the first device.

At block 1340, the method 1300 may include generating, by one or moreservers in communication with the application, a message containingupdated redemption information of the one or more certificates when theupdated redemption information has been stored in one or more databases,the one or more databases in communication with the one or more servers.

At block 1350, the method 1300 may include retrieving, by the one ormore servers, data from a plurality of data sources. The legalrequirements for organizations to operate the raffles may be encoded ina system, including a server or a blockchain, to ensure compliance withthe law. The system may be configured to allow for a blockchain, as acommon shared ledger, to be utilized by the organization and variousmunicipalities and ease auditing. The system may be configured to alsopermit ease of sale and transfer of ownership of raffle tickets. Thetickets may be sold via an application comprising instructions forexecution on a device. In some examples, the creation, sale andredemption process of the ticket or certification may utilize thesystems and methods previously described above. The informationassociated with ownership transfers and purchase history may be utilizedto improve future charitable campaigns and prevent fraud.

Numerous entities may include various records for monitoring raffleoperation requirements. For example, in a given jurisdiction, there maybe a state entity, a municipality entity, and an organization entity.Each of these entities may include an in-house ledger or database tomaintain necessary records. In some examples, to conduct a raffle, theorganization may request from the state an identification number via anapplication process. The application may be submitted to themunicipality which then submits to the state for compliance and issuanceof the identification number before the raffle is approved and conductedby the organization seeking approval of the raffle.

The system may include a common ledger that may be accessible and sharedby various entities. System may be configured to retrieve data from eachentity so as to consolidate for generation of one or more smartcontracts and process funding. In some examples, the system may includeinformation transmitted or retrieved from a plurality of entities,including but not limited to a state entity, a municipality entity, andan organization. This information may include one or more parameters,including but not limited to sales history information, state ofcontracts information, contract certifications information, geofencinginformation, timing information, funds distribution information, andmember certification information. The one or more parameters may beshared in the blockchain of the system as part of a shared ledger so asto achieve authenticated blockchain data distribution.

At block 1360, the method 1300 may include generating, by the one ormore servers, one or more smart contracts based on the retrieved data.In addition, the system may be configured to create one or more smartcontracts may be created. In some examples, a smart contract may begenerated by the blockchain based on the one or more parameters. Forexamples, the smart contract may be configured to include but not belimited to an identification number (such as a state identificationnumber) and expiration date, municipal information and an expirationdate, geofencing information, organization certifications information,and member certifications. In addition, this data may be utilized by theblockchain to create the one or more smart contracts. A user of clientdevice may purchase the raffle ticket, as previously described above,via application. In some examples, the user may be prompted to installapplication on client device. In some examples, data such as results ofthe raffle and purchase history from the user, may be retrieved todetermine the likelihood of future tickets to offer for the user topurchase. Thus, the one or more smart contracts may be dynamicallyupdated.

Moreover, the system may be configured to verify one or more actions. Byway of example, the system may be configured to authenticate the dataretrieved from the plurality of entities. Additionally, the system maybe configured to verify that the funds are processed to the organizationor charity according to a distribution. A plurality of portions may beutilized for funds distribution. For example, a first portion of thefunds may be applied towards the user. A second portion of the funds maybe applied towards the organization. A third portion of the funds may beapplied towards the state. A fourth portion of the funds may be appliedtowards the municipality. A fifth portion of the funds may be appliedtowards the server. The one or more smart contracts may includereference to the plurality of portions.

It is further noted that the systems and methods described herein may betangibly embodied in one of more physical media, such as, but notlimited to, a compact disc (CD), a digital versatile disc (DVD), afloppy disk, a hard drive, read only memory (ROM), random access memory(RAM), as well as other physical media capable of data storage. Forexample, data storage may include random access memory (RAM) and readonly memory (ROM), which may be configured to access and store data andinformation and computer program instructions. Data storage may alsoinclude storage media or other suitable type of memory (e.g., such as,for example, RAM, ROM, programmable read-only memory (PROM), erasableprogrammable read-only memory (EPROM), electrically erasableprogrammable read-only memory (EEPROM), magnetic disks, optical disks,floppy disks, hard disks, removable cartridges, flash drives, any typeof tangible and non-transitory storage medium), where the files thatcomprise an operating system, application programs including, forexample, web browser application, email application and/or otherapplications, and data files may be stored. The data storage of thenetwork-enabled computer systems may include electronic information,files, and documents stored in various ways, including, for example, aflat file, indexed file, hierarchical database, relational database,such as a database created and maintained with software from, forexample, Oracle® Corporation, Microsoft® Excel file, Microsoft® Accessfile, a solid state storage device, which may include a flash array, ahybrid array, or a server-side product, enterprise storage, which mayinclude online or cloud storage, or any other storage mechanism.Moreover, the figures illustrate various components (e.g., servers,computers, processors, etc.) separately. The functions described asbeing performed at various components may be performed at othercomponents, and the various components may be combined or separated.Other modifications also may be made.

Further modifications and alternative embodiments of various aspects ofthe invention will be apparent to those skilled in the art in view ofthis description. Accordingly, this description is to be construed asillustrative only. The construction and arrangements, shown in thevarious exemplary embodiments, are illustrative only. While the currentapplication recites particular combinations of features in the variousembodiments discussed herein, various embodiments of the inventionrelate to any combination of any of the features described herein, andany such combination of features may be claimed in this or futureapplications. Any of the features, elements, or components of any of theexemplary embodiments discussed above may be claimed alone or incombination with any of the features, elements, or components of any ofthe other embodiments discussed above.

Although only a few embodiments have been described in detail in thisdisclosure, many modifications are possible (e.g., variations in sizes,dimensions, structures, shapes and proportions of the various elements,values of parameters) without materially departing from the novelteachings and advantages of the subject matter described herein.Further, actual dimensions not expressly set out in this description canbe determined by using the ratios of dimensions measured in the Figuresin combination with the express dimensions set out in this description.Some elements shown as integrally formed may be constructed of multipleparts or elements, the position of elements may be reversed or otherwisevaried, and the nature or number of discrete elements or positions maybe altered or varied. The order or sequence of any process, logicalalgorithm, or method steps may be varied or re-sequenced according toalternative embodiments. Other substitutions, modifications, changes andomissions may also be made in the design, operating conditions andarrangement of the various exemplary embodiments without departing fromthe scope of the present invention. Although an embodiment of theinvention and its advantages are described in detail, a person skilledin the art could make various alterations, additions, and omissionswithout departing from the spirit and scope of the present invention asdefined by the appended claims.

What is claimed is:
 1. A system comprising: an application comprisinginstructions for execution on a first device including one or moreprocessors and memory, wherein the application is configured to purchaseone or more certificates by a first process; the application comprisinginstructions for execution on a second device including one or moreprocessors and memory, the application configured to redeem the one ormore certificates received from the first device by a second process viaone or more blockchain transactions, wherein the application isconfigured to exchange one or more codes to designate the one or morecertificates as used on the first device; one or more servers incommunication with the application, wherein the one or more servers areconfigured to automatically generate a message containing updatedredemption information of the one or more certificates when the updatedredemption information has been stored in one or more databases incommunication with the one or more servers, the one or more servers areconfigured to retrieve data from a plurality of sources, and the one ormore servers are configured to generate one or more smart contractsbased on the retrieved data.
 2. The system of claim 1, wherein the oneor more servers are configured to prohibit repeat redemption of the oneor more certificates.
 3. The system of claim 1, wherein the one or moreservers are configured to request an identification number to conduct araffle.
 4. The system of claim 1, wherein the one or more servers areconfigured to process the retrieved data against one or morerequirements.
 5. The system of claim 1, wherein the one or more smartcontracts comprises an identification number, expiration date, municipalinformation, geofencing information, organization certificationsinformation, and membership certification information.
 6. The system ofclaim 1, wherein the one or more servers comprises a central exchangeserver.
 7. The system of claim 1, wherein the one or more databasescomprises a cloud-based storage.
 8. The system of claim 1, wherein thedata comprises one or more parameters, including one or more selectedfrom the group of transaction information, contract information,certification information, geofencing information, membershipinformation, and distribution information.
 9. The system of claim 1,wherein the one or more smart contracts are dynamically updated based onresults of a raffle and purchase history.
 10. The system of claim 1,wherein the one or more servers are configured to verify one or moreactions.
 11. The system of claim 10, wherein a first action comprisesauthentication of retrieved data from the plurality of sources.
 12. Thesystem of claim 10, wherein a second action comprises verification offunds processed according to a predetermined distribution.
 13. Thesystem of claim 1, wherein the second process comprises an asynchronousprocess.
 14. The system of claim 1, wherein the second process comprisesa synchronous process.
 15. A method comprising: establishingcommunication between an application including instructions forexecution on both a first device including one or more processors andmemory and a second device including one or more processors and memory,wherein the application is configured to purchase one or morecertificates by a first process via one or more blockchain transactions;redeeming, by the application, the one or more certificates receivedfrom the first device by a second process via one or more blockchaintransactions; exchanging, by the application, one or more codes todesignate the one or more certificates as used on the first device;generating, by one or more servers in communication with theapplication, a message containing updated redemption information of theone or more certificates when the updated redemption information hasbeen stored in one or more databases, the one or more databases incommunication with the one or more servers; retrieving, by the one ormore servers, data from a plurality of sources; and generating, by theone or more servers, one or more smart contracts based on the retrieveddata.
 16. The method of claim 15, wherein the one or more servers areconfigured to prohibit repeat redemption of the one or morecertificates.
 17. The method of claim 15, wherein the one or moreservers are configured to request an identification number to conduct araffle.
 18. The method of claim 15, wherein the one or more servers areconfigured to process the retrieved data against one or morerequirements.
 19. The method of claim 15, wherein the one or more smartcontracts comprises an identification number, expiration date, municipalinformation, geofencing information, organization certificationsinformation, and membership certification information.
 20. The method ofclaim 15, wherein the one or more servers comprises a central exchangeserver.
 21. The method of claim 15, wherein the one or more databasescomprises a cloud-based storage.
 22. The method of claim 15, wherein thedata comprises one or more parameters, including one or more selectedfrom the group of transaction information, contract information,certification information, geofencing information, membershipinformation, and distribution information.
 23. The method of claim 15,wherein the one or more smart contracts are dynamically updated based onresults of a raffle and purchase history.
 24. The method of claim 15,wherein the one or more servers are configured to verify one or moreactions.
 25. The method of claim 15, wherein the first process comprisesan asynchronous process.
 26. The method of claim 15, wherein the firstprocess comprises a synchronous process.
 27. The method of claim 24,wherein a first action comprises authentication of retrieved data fromthe plurality of sources.
 28. The method of claim 24, wherein a secondaction comprises verification of funds processed according to apredetermined distribution.
 29. A computer readable non-transitorymedium comprising computer-executable instructions that are executed ona processor and comprising the steps of: establishing communicationbetween a first and second device so as to purchase one or morecertificates by a first process via one or more blockchain transactions;redeeming the one or more certificates received from the first device bya second process via one or more blockchain transactions; exchanging oneor more codes to designate the one or more certificates as used on thefirst device; generating a message containing updated redemptioninformation of the one or more certificates when the updated redemptioninformation has been stored in one or more databases, the one or moredatabases in communication with the one or more servers; retrieving datafrom a plurality of sources; and generating one or more smart contractsbased on the retrieved data.